{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "initial_id",
   "metadata": {
    "collapsed": true,
    "ExecuteTime": {
     "end_time": "2024-08-12T13:36:35.215706Z",
     "start_time": "2024-08-12T13:36:34.413937Z"
    }
   },
   "outputs": [],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "from experiments.main_experiments.snapshots.synthetic.retrain_distribution import normal_retrain_layer_dist_50, normal_retrain_layer_dist_25, normal_retrain_layer_dist_last_few"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "outputs": [
    {
     "data": {
      "text/plain": "<Figure size 640x480 with 1 Axes>",
      "image/png": "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8NVMmDBBu3fv1vr167V69Wp9+OGHmjJlSujWCgAAdGlBXc14yZIlGjBggPLz833L0tLSfP82DEPLly/X7NmzdfXVV0uSnn32WSUmJuqNN97Q+PHjtWfPHq1du1bbt2/XsGHDJEkrVqzQz3/+cz344INKTk4OxXoBAIAuLKiA8uabbyozM1PXXXedNm3apB/96Ef67W9/q9tuu02SVFxcrPLycqWnp/ueExsbqxEjRqiwsFDjx49XYWGhevfu7QsnkpSenq6wsDBt3bpV11577TGv63K55HK5fPedTqckyePxyOPxBLfGAALm9XoVEWGTLUwKV5PfepvVoqioyIDqg6k1U++gxxImRUTY5PV6+bxCtxfMe8BiGIYRaHFUVJQkKTc3V9ddd522b9+uO++8UytXrtTEiRO1efNmjRo1SqWlperXr5/veddff70sFoteeuklLVq0SM8884z27t3bondCQoLmz5+vqVOnHvO68+bN0/z5849ZXlBQoOjo6IBXFgAAdJ76+nrdcMMNqq2tld1uP2ltUFtQmpqaNGzYMC1atEiSdMEFF2jXrl2+gNJeZs2apdzcXN99p9OpAQMGKCMjw+8KAmi94uJiTcqZrtTM29Srr/+vX8v27dCWF5Zr1C1zlDDgjJDVmql3sPV1/y5VybonlJ+3vMVX4kB31PwNSCCCCij9+vXToEGDWiw7++yz9eqrr0qSkpKSJEkVFRUttqBUVFRoyJAhvprKysoWPRobG1VdXe17/tEiIyMVGRl5zHKbzSabzRbMKgAIgtVqldvtkadJagxgn3qP11BDgyug+mBqzdQ76LE0SW63R1arlc8rdHvBvAeCOopn1KhRx3w1s2/fPqWmpkr6fofZpKQkbdy40fe40+nU1q1b5XA4JEkOh0M1NTUqKiry1bz33ntqamrSiBEjghkOAAA4RQW1BWXGjBm6+OKLtWjRIl1//fXatm2bHn/8cT3++OOSJIvFounTp+u+++7TmWeeqbS0NM2ZM0fJycm65pprJH2/xeWKK67QbbfdppUrV8rj8WjatGkaP348R/AAHaSqqiqgTa0lJSVq9DR2wIgAoKWgAspFF12k119/XbNmzdKCBQuUlpam5cuXa8KECb6au+66S4cPH9aUKVNUU1OjSy65RGvXrvXtYCtJzz//vKZNm6YxY8YoLCxM2dnZevjhh0O3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a461tndlZaW2bt2qhIQEXXzxxUpMTNSll16qjz76KCT9pe/n9KWXXlJ1dbWampr04osvqqGhQZdddlnAfb1er1588UUdPnxYDocjpHN5dO8TrVdr5vJ4vUM1l0f3DuVcHm/coZjHDtXZCckMDh48aEgyNm/e3GL5zJkzjeHDh4fsdbxer5GVlWWMGjUqZD1feOEF49xzzzWOHDliGIYR0i0okZGRRmRkpDFr1izjk08+Mf7yl78YUVFRxqpVq9rc2+v1GnfffbdhsViM8PBww2KxGIsWLWpzXx31l8w//vEPQ5JRWlraou66664zrr/++jb1PtqRI0eMCy+80LjhhhuC6nui3osWLTJ+9rOfGU1NTYZhGCHbgtL8F190dLTx0EMPGTt27DAWL15sWCwW44MPPmjzuBsaGoybb77ZkGSEh4cbERERxjPPPBP0uI/3fnn++eeNiIiIY2ovuugi46677mpT76NVVVUZKSkpxu9///s2j9swDGPKlCnG5MmTfff9/TwF2ruwsNCQZMTFxRlPP/208cknnxjTp083IiIijH379oVk7N99952RkZHhm1O73W6sW7cuoJ6ffvqpERMTY1itViM2NtZ4++23DcMIzVyeqPfRWjOXJ+vd1rk8Ue9QzOXJxt2WeewMnXaq++4oJydHu3btavVfNkc7cOCA7rzzTq1fvz6gfQeC1dTUpGHDhmnRokWSpAsuuEC7du3SypUrNXHixDb1fvnll/X888+roKBA55xzjnbu3Knp06crOTm5zb07g8fj0fXXXy/DMPTYY4+1uV9RUZH+/Oc/65NPPgn6O25/mpqaJElXX321ZsyYIUkaMmSINm/erJUrV+rSSy9tU/8VK1Zoy5YtevPNN5WamqoPP/xQOTk5Sk5ODmorX6jfL8H0djqdysrK0qBBgzRv3rw2937zzTf13nvvtfm7/uP1bp7P22+/3XctswsuuEAbN27U008/rcWLF7epvyTNmTNHNTU12rBhg/r27as33nhD119/vf7+979r8ODBJ+151llnaefOnaqtrdVf//pXTZw4UZs2bQp4TK3pPWjQIF9Na+fyRL2//PLLNs/liXqHYi5P9n/SlnnsFJ2dkMzA5XIZVqv1mAR88803G1dddVVIXiMnJ8fo37+/8fXXX4ekn2EYxuuvv25IMqxWq+8mybBYLIbVajUaGxvb1D8lJaXFXwmGYRiPPvqokZyc3Ka+hmEY/fv3Nx555JEWyxYuXGicddZZbeqro/6S+eqrrwxJxo4dO1rU/fSnPzV+97vftal3M7fbbVxzzTXGeeedZ/z73/9uxaiP7b1s2TLfPP5wbsPCwozU1NQ29Xa5XEZ4eLixcOHCFnV33XWXcfHFF7epd319vWGz2YzVq1e3qJs8ebKRmZkZcN8TvV82btxoSDK+++67FstTUlKMhx56qE29mzmdTsPhcBhjxozxbZls67jvvPPOE87npZde2qbeX3/9tSHJ+L//+78Wy6+//vqgtuadqP+XX35pSDJ27drVYvmYMWOM22+/PeD+P3zelClTQjKXJ+rdrC1zeaLeoZjLE/UO1Vwer3eo57EjsA+KpIiICA0dOlQbN270LWtqatLGjRtP+H1moAzD0LRp0/T666/rvffeU1paWluH6zNmzBh99tln2rlzp+82bNgwTZgwQTt37pTVam1T/1GjRh1zuOG+ffuUmprapr7S99/hHr1XutVq9f0FESppaWlKSkpqMbdOp1Nbt25t89xK/91y8sUXX2jDhg3q06dPm3tK0k033aRPP/20xdwmJydr5syZWrduXZt6R0RE6KKLLmqXufV4PPJ4PK2eW3/vl6FDh8pms7WYz71792r//v1+5zOQ96LT6VRGRoYiIiL05ptvBrxl0l/ve+6555j5lKRly5YpPz+/Tb1PP/10JScnt3o+/fWvr6+XpJC9X5uamuRyudo0l/56S62fS3+92zKX/nq3dS5P1jvU89ghOjMdmcmLL75oREZGGqtWrTI+//xzY8qUKUbv3r2N8vLyNvWdOnWqERsba3zwwQdGWVmZ71ZfXx+ikbcUyn1Qtm3bZoSHhxv333+/8cUXXxjPP/+8ER0dbTz33HNt7j1x4kTjRz/6kbF69WqjuLjYeO2114y+ffsGtR9Bs7q6OmPHjh3Gjh07DEm+/Sqaj6R54IEHjN69ext/+9vfjE8//dS4+uqrjbS0tID+ojpZb7fbbVx11VVG//79jZ07d7aYX5fL1eZxHy2YfVD89X7ttdcMm81mPP7448YXX3xhrFixwrBarcbf//73Nve+9NJLjXPOOcd4//33ja+//trIz883oqKijEcffdRv70DeL7/5zW+MlJQU47333jM+/vhjw+FwGA6Ho829a2trjREjRhiDBw82vvzyyxY1/rZGtuZ9rgD3Wwik97Jlywy73W688sorxhdffGHMnj3biIqKMr788ss293e73cYZZ5xh/L//9/+MrVu3Gl9++aXx4IMPGhaL5YT7fDS75557jE2bNhnFxcXGp59+atxzzz2GxWIx3n33XcMwWj+X/nq3ZS4DGffRAp3LQHq3ZS5P1rst89hZCCg/sGLFCiMlJcWIiIgwhg8fbmzZsqXNPSUd95afn9/2AR9HKAOKYRjGW2+9ZZx77rlGZGSkMXDgQOPxxx8PSV+n02nceeedRkpKihEVFWX8z//8j/GHP/whoF/sR3v//feP+388ceJEwzC+P9R4zpw5RmJiohEZGWmMGTPG2Lt3b5t7FxcXn3B+33///TaP+2jBBJRAej/11FPGGWecYURFRRnnn3++8cYbb4Skd1lZmfHrX//aSE5ONqKiooyzzjrL+NOf/uTb2fdkAnm/HDlyxPjtb39rnHbaaUZ0dLRx7bXXGmVlZW3ufaL1kmQUFxe3edzHe04gv9QC7b148WKjf//+RnR0tOFwOAIKm4H237dvnzFu3DgjISHBiI6ONs4777xjDlc9nltuucVITU01IiIijPj4eGPMmDEtfsm3di799W7LXAYy7qMFE1AC6d3aufTXu7Xz2FkshtGKU3cCAAC0I/ZBAQAApkNAAQAApkNAAQAApkNAAQAApkNAAQAApkNAAQAApkNAAQAApkNAAQAApkNAAQAApkNAAQAApkNAAQAApkNAAQAApvP/A1XJU3Vh+q5iAAAAAElFTkSuQmCC"
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "num_layers = 40\n",
    "num_models = 10000\n",
    "numbers = normal_retrain_layer_dist_50(num_layers, num_models)\n",
    "plt.hist(numbers, bins=range(0, 40), edgecolor='black', alpha=0.7)\n",
    "plt.xticks(range(0, 40, 2))\n",
    "plt.grid(axis='y')\n",
    "plt.show()"
   ],
   "metadata": {
    "collapsed": false,
    "ExecuteTime": {
     "end_time": "2024-08-12T13:36:37.761896Z",
     "start_time": "2024-08-12T13:36:37.565661Z"
    }
   },
   "id": "f71cc65f1ff1af4d"
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "outputs": [
    {
     "data": {
      "text/plain": "<Figure size 640x480 with 1 Axes>",
      "image/png": "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OyszM1O7d+9u0aO2tlZjxoyR3W5X165dNWHCBB08eDD0rQEAAKeFoALKd999p2HDhslms+mdd97R559/rj/96U/q1q2br2bRokV6+OGHtXTpUm3atEmxsbHKzs5WQ0ODr2bMmDHavn27Vq9ereXLl2v9+vWaNGlS+LYKAAB0aJ2CKV64cKF69+6t4uJi37L09HTffxuGocLCQs2cOVM33HCDJOm5555TUlKS3njjDY0aNUo7duzQypUrtWXLFg0ePFiStGTJEl177bV68MEHlZKSEo7tAgAAHVhQAeXNN99Udna2br75Zq1bt05nn322fvvb32rixImSpPLyclVWViozM9P3nri4OA0dOlSlpaUaNWqUSktL1bVrV184kaTMzExFRERo06ZNuummm45Zr9vtltvt9j13uVySJI/HI4/HE9wWo815vV5FRtpki5A6qfmktTarRdHRUQHVBlvfUXtLki1Cioy0yev18m8cwGkjmJ9nFsMwjECLo6OjJUn5+fm6+eabtWXLFt15551aunSpxo0bpw0bNmjYsGGqqKhQz549fe+75ZZbZLFY9PLLL2v+/Pl69tlntXPnzha9ExMTNWfOHE2ePPmY9RYUFGjOnDnHLC8pKVFMTEzAGwsAANpPfX29Ro8erbq6Otnt9pPWBrUHpbm5WYMHD9b8+fMlSQMHDtS2bdt8AaWtzJgxQ/n5+b7nLpdLvXv3VlZWlt8NxKlXXl6u8XlTlZY9UV16nPwru327tmrji4UadvssJfY+12/vYOo7am9JOvBthZyrnlBxUWGLr1EBoCM78g1IIIIKKD179lTfvn1bLLvgggv06quvSpKSk5MlSVVVVS32oFRVVWnAgAG+murq6hY9mpqaVFtb63v/0aKiohQVFXXMcpvNJpvNFswm4BSwWq1qbPTI0yw1+TkO2+M11NDgDqg22PqO2luSPM1SY6NHVquVf+MAThvB/DwL6iyeYcOGHfPVzK5du5SWlibp+wNmk5OTtXbtWt/rLpdLmzZtksPhkCQ5HA7t379fZWVlvpr33ntPzc3NGjp0aDDDAQAAp6mg9qDcdddduvTSSzV//nzdcsst2rx5sx5//HE9/vjjkiSLxaKpU6fqD3/4g8477zylp6dr1qxZSklJ0Y033ijp+z0u11xzjSZOnKilS5fK4/FoypQpGjVqFGfwmFhNTU3A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pqbGSE1NNe69996Qx20YhjFp0iRjwoQJvuf+/j0F2ru0tNSQZMTHxxtPP/208fHHHxtTp041IiMjjV27doVl7N99952RlZXlm1O73W6sWrUqoJ6ffvqpERsba1itViMuLs54++23DcMIz1yeqPfRWjOXJ+sd6lyeqHc45vJk4w5lHttDu13q/kyUl5enbdu2tfovm6N9/fXXuvPOO7V69eqAjh0IVnNzswYPHqz58+dLkgYOHKht27Zp6dKlGjduXEi9X3nlFb3wwgsqKSnRhRdeqE8++URTp05VSkpKyL3bg8fj0S233CLDMPTYY4+F3K+srEx//vOf9fHHHwf9Hbc/zc3NkqQbbrhBd911lyRpwIAB2rBhg5YuXarLL788pP5LlizRxo0b9eabbyotLU3r169XXl6eUlJSgtrLF+7PSzC9XS6XcnJy1LdvXxUUFITc+80339R7770X8nf9x+t9ZD5//etf++5lNnDgQK1du1ZPP/20FixYEFJ/SZo1a5b279+vNWvWqEePHnrjjTd0yy236O9//7v69et30p7nn3++PvnkE9XV1emvf/2rxo0bp3Xr1gU8ptb07tu3r6+mtXN5ot5ffPFFyHN5ot7hmMuT/T8JZR7bRXsnJDNwu92G1Wo9JgHfdtttxvXXXx+WdeTl5Rm9evUyvvrqq7D0MwzDeP311w1JhtVq9T0kGRaLxbBarUZTU1NI/VNTU1v8lWAYhvHoo48aKSkpIfU1DMPo1auX8cgjj7RYNm/ePOP8888Pqa+O+kvmyy+/NCQZW7dubVH305/+1Pjd734XUu8jGhsbjRtvvNHo37+/8e2337Zi1Mf2Xrx4sW8e/3tuIyIijLS0tJB6u91uo1OnTsa8efNa1N19993GpZdeGlLv+vp6w2azGcuXL29RN2HCBCM7Ozvgvif6vKxdu9aQZHz33XctlqemphoPPfRQSL2PcLlchsPhMIYPH+7bMxnquO+8884Tzufll18eUu+vvvrKkGT83//9X4vlt9xyS1B7807U/4svvjAkGdu2bWuxfPjw4cavf/3rgPv/9/smTZoUlrk8Ue8jQpnLE/UOx1yeqHe45vJ4vcM9j6cCx6BIioyM1KBBg7R27VrfsubmZq1du/aE32cGyjAMTZkyRa+//rree+89paenhzpcn+HDh+uzzz7TJ5984nsMHjxYY8aM0SeffCKr1RpS/2HDhh1zuuGuXbuUlpYWUl/p++9wjz4q3Wq1+v6CCJf09HQlJye3mFuXy6VNmzaFPLfSD3tOdu/erTVr1qh79+4h95SksWPH6tNPP20xtykpKZo2bZpWrVoVUu/IyEhdcsklbTK3Ho9HHo+n1XPr7/MyaNAg2Wy2FvO5c+dO7dmzx+98BvJZdLlcysrKUmRkpN58882A90z6633PPfccM5+StHjxYhUXF4fU+5xzzlFKSkqr59Nf//r6ekkK2+e1ublZbrc7pLn011tq/Vz66x3KXPrrHepcnqx3uOfxlGjPdGQmL730khEVFWU888wzxueff25MmjTJ6Nq1q1FZWRlS38mTJxtxcXHGBx98YOzbt8/3qK+vD9PIWwrnMSibN282OnXqZNx///3G7t27jRdeeMGIiYkxnn/++ZB7jxs3zjj77LON5cuXG+Xl5cZrr71m9OjRI6jjCI44cOCAsXXrVmPr1q2GJN9xFUfOpHnggQeMrl27Gn/729+MTz/91LjhhhuM9PT0gP6iOlnvxsZG4/rrrzd69eplfPLJJy3m1+12hzzuowVzDIq/3q+99pphs9mMxx9/3Ni9e7exZMkSw2q1Gn//+99D7n355ZcbF154ofH+++8bX331lVFcXGxER0cbjz76qN/egXxefvOb3xipqanGe++9Z3z00UeGw+EwHA5HyL3r6uqMoUOHGv369TO++OKLFjX+9ka25nOuAI9bCKT34sWLDbvdbixbtszYvXu3MXPmTCM6Otr44osvQu7f2NhonHvuucb/+3//z9i0aZPxxRdfGA8++KBhsVhOeMzHEffcc4+xbt06o7y83Pj000+Ne+65x7BYLMa7775rGEbr59Jf71DmMpBxHy3QuQykdyhzebLeocxjeyGg/JclS5YYqampRmRkpDFkyBBj48aNIfeUdNxHcXFx6AM+jnAGFMMwjLfeesv4yU9+YkRFRRl9+vQxHn/88bD0dblcxp133mmkpqYa0dHRxv/8z/8Yv//97wP6xX60999//7j/j8eNG2cYxvenGs+aNctISkoyoqKijOHDhxs7d+4MuXd5efkJ5/f9998PedxHCyagBNL7qaeeMs4991wjOjrauOiii4w33ngjLL337dtn/PKXvzRSUlKM6Oho4/zzzzf+9Kc/+Q72PZlAPi+HDx82fvvb3xrdunUzYmJijJtuusnYt29fyL1PtF2SjPLy8pDHfbz3BPJLLdDeCxYsMHr16mXExMQYDocjoLAZaP9du3YZI0eONBITE42YmBijf//+x5yuejy33367kZaWZkRGRhoJCQnG8OHDW/ySb+1c+usdylwGMu6jBRNQAund2rn017u189heLIbRikt3AgAAtCGOQQEAAKZDQAEAAKZDQAEAAKZDQAEAAKZDQAEAAKZDQAEAAKZDQAEAAKZDQAEAAKZDQAEAAKZDQAEAAKZDQAEAAKZDQAEAAKbz/wFIhG0gdSoVMgAAAABJRU5ErkJggg=="
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "num_layers = 40\n",
    "num_models = 10000\n",
    "numbers = normal_retrain_layer_dist_25(num_layers, num_models)\n",
    "plt.hist(numbers, bins=range(0, 40), edgecolor='black', alpha=0.7)\n",
    "plt.xticks(range(0, 40, 2))\n",
    "plt.grid(axis='y')\n",
    "plt.show()\n"
   ],
   "metadata": {
    "collapsed": false,
    "ExecuteTime": {
     "end_time": "2024-08-12T13:36:38.282950Z",
     "start_time": "2024-08-12T13:36:38.126629Z"
    }
   },
   "id": "ea5c32f44a511641"
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "outputs": [
    {
     "data": {
      "text/plain": "<Figure size 640x480 with 1 Axes>",
      "image/png": "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aujQoUEZd7XZs2cH9BUo/vTOy8vTrbfeqrS0NG3dulWffPKJRo0apbCws78N+NN78ODB2rt3r5YvX66dO3dqwIABuuuuu7R9+/Z6x96mTRtNmzZN+fn5+vTTT3XLLbfojjvu0O7duyU1fC7r692YufRn3NUCnUt/ejd0Lv3p3Zi5POca/9WLl46ePXsamZmZ3uXKykojISHByMnJCerrHD582JBkrF+/Pmg9jx8/bvzsZz8zcnNzjZtuusl49NFHG91z3Lhxxg033ND4wdWiX79+xoMPPuizbsCAAca9997b6N6SjLffftu7XFVVZcTHxxvPPPOMd92xY8cMh8NhvP76643qXZutW7cakoyioqKg9P7666+Nn/zkJ8auXbuMpKQkY9asWQH1rav3b37zG+O+++4LuJc/vTt27GhMmTLFZ1337t2NJ598MuD+P/57OXbsmGGz2Yy33nrLW7Nnzx5DkpGXl9eo3rV58803Dbvdbng8nqD03r59u/GTn/zEKC4u9uu/J397p6SkGBMmTAi4lz+9o6KijL/+9a8+dTExMcbLL7/coNdo3ry58Ze//CWoc/nj3rVp6FzW1TsYc1lb72DNZW29gz2XocQRGD9VVFQoPz9fffv29a4LCwtT3759lZeXF9TXqj6EGRMTE7SemZmZ6tevn8/4G2v58uW6+uqr9etf/1qxsbHq1q2bXn755aD0vu6667R27Vp9/vnnkqR//OMf+uijj5SRkRGU/j9UWFiokpISn99NdHS0UlJSgj630vfza7FYgvJdXVVVVbr//vs1duxYdezYsfGD+0Hf9957Tz//+c+Vnp6u2NhYpaSk+H0IvD7XXXedli9frm+++UaGYeiDDz7Q559/rrS0tIB7/fjvJT8/Xx6Px2c+27dvr7Zt2wY8n/78LZaVlcnpdCo8PLD7gtbWu7y8XIMGDdKcOXPq/N63hvQ+fPiwtmzZotjYWF133XWKi4vTTTfdpI8++qjRvaXv53PJkiU6evSoqqqq9MYbb+j06dPq3bt3QL0rKyv1xhtv6OTJk0pNTQ3qXP64d1371pC5rK13sObyx72DOZe1jTtYc3lOnO8EZRbffPONIcnYtGmTz/qxY8caPXv2DNrrVFZWGv369TOuv/76oPV8/fXXjV/84hfGqVOnDMMwgnYExuFwGA6Hwxg/fryxbds2489//rMR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"
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "num_layers = 40\n",
    "num_models = 10000\n",
    "numbers = normal_retrain_layer_dist_last_few(num_layers, num_models)\n",
    "plt.hist(numbers, bins=range(0, 40), edgecolor='black', alpha=0.7)\n",
    "plt.xticks(range(0, 40, 2))\n",
    "plt.grid(axis='y')\n",
    "plt.show()"
   ],
   "metadata": {
    "collapsed": false,
    "ExecuteTime": {
     "end_time": "2024-08-12T13:36:38.955079Z",
     "start_time": "2024-08-12T13:36:38.791960Z"
    }
   },
   "id": "5477048c4c4c7ea9"
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "outputs": [],
   "source": [],
   "metadata": {
    "collapsed": false,
    "is_executing": true
   },
   "id": "ec4f4b7d7dde401e"
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 2
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython2",
   "version": "2.7.6"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
